module(..., package.seeall)

function mon_start(obj)
	local mon,fd=obj.mon,obj.fd
	if mon and fd then
		mon:__reset_all()
		local a,p=fd:getsockname()
		if a then
			mon.localaddr=a .. ':' ..p
		else
			mon.localaddr=p
		end
		a,p=fd:getpeername()
		if a then
			mon.peeraddr=a .. ':' ..p
		else
			mon.peeraddr=p
		end
		mon.createtime=os.time()
		mon:__save()
	end
end

function mon_broke(obj)
	local mon=obj.mon
	if mon then
		mon:__reset_all()
		mon:__save()
	end
end

function mon_end(obj)
	local mon=obj.mon
	if mon then
		mon:__remove()
		obj.mon=nil
	end
end
